# Q1：查找"媒体"的次数

#请勿改动变量名freq_table_phrase，过程可自行书写
phrase="媒体"
freq_table_phrase=text.count(phrase,10000-20000) #10000-20000表示在此范围内取值
freq_table_phrase
#第一个知识点：使用变量
#第二个知识点：
#count（使用在序列数据中，如字符串、列表、元组、可快速查询词频）
#两个思路：1.Python官网（在字符串概念下）        2.百度/必应浏览器搜索关键词



# Q2：用中文"。"拆分,生成list_split列表，每一个句子是一个独立的列表元素

# 请勿改动变量名list_split，过程可自行书写
list_split=text.split("。")
list_split

# 扩展提问：一共有多少句？
len(list_split)

#第一个知识点：列表的取值[index], （切片-没考，可以回顾）
#第二个知识点：清楚列表的序列是从0开始的



# Q3：取出第十个句子

# 请勿改动变量名the_10_phrase，过程可自行书写
the_10_phrase=list_split[9]#
the_10_phrase

# Q4：
#请找出text中所有"媒体"关键字前面的两个字符
#先找出所有新媒体位置列表 position_all，（20分）
#再找出所有 "媒体"关键字前面的两个字符列表 content_all，（20分）
#答案提示:
#[95, 144, 154, 164, 204, 235, 356, 400, ...]
#['提出', '应新', '重新', '用新', '建新', ...]

#test 代码块
#text 是一个字符串
position_all=[]
for i,j in enumerate(text):
    if j == '媒':
        if text[i+1] == '体':
            position_all.append(i)
# print(position_all)

# test2 测试代码块
content_all=[]
for i in position_all:
#     print(text[i]+text[i+1]) 字符串拼接
#     print(text[i-2:i]) # 切片
    content_all.append(text[i-2:i])
# print(content_all)
#test第一个知识点：enumerate作为枚举，对序列数据进行索引值和值（一起循环打印结果）
#test第二个知识点：list列表的新增 （使用append）
#test2第一个知识点：序列数据的切片
#test2第二个知识点：列表的新增 append



#Q 5:统计text中所有"媒体"关键字前面的两个字符的出现次数（即词频）
#答案示例：
#{'提出': 2, '应新': 3, '重新': 1, '用新': 3, '建新': 1,...}

# 请勿改动变量名found，过程可自行书写

found = {}
for i in content_all:
    found[i] =content_all.count(i)
print(found)
#知识点：
#字典的内容：
#1.字典的新建（三种方法其中一种）  dict_name[key] = value(常用)
#2.列表的词频（序列数据的词频）count




# Q6:找出text中所有"媒体"关键字前面的两个字符的次数排在前八的关键词，作为一个新的字典输出

# 请勿改动变量名top8_found，过程可自行书写
top8_found = {}
tmp = sorted(found.items(),key=lambda x:x[1],reverse=True)
for i in range(8):
    top8_found[tmp[i][0]]=tmp[i][1]
top8_found

